package com.smart.community.region.service;

import com.smart.community.region.dto.ImportRequest;
import com.smart.community.region.vo.ImportProgress;
import com.smart.community.region.vo.ImportResult;
import com.smart.community.region.vo.TemplateValidationResult;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * 社区模板导入服务接口
 * 
 * @author Wu.Liang
 * @since 2025-01-30
 */
public interface ICommunityTemplateImportService {

    /**
     * 下载社区模板
     * 
     * @param response HTTP响应对象
     */
    void downloadTemplate(HttpServletResponse response);

    /**
     * 上传模板文件
     * 
     * @param file 上传的文件
     * @return 文件ID
     */
    String uploadTemplate(MultipartFile file);

    /**
     * 验证模板数据
     * 
     * @param fileId 文件ID
     * @return 验证结果
     */
    TemplateValidationResult validateTemplate(String fileId);

    /**
     * 导入模板数据
     * 
     * @param request 导入请求
     * @return 导入结果
     */
    ImportResult importTemplate(ImportRequest request);

    /**
     * 获取导入进度
     * 
     * @param taskId 任务ID
     * @return 导入进度
     */
    ImportProgress getImportProgress(String taskId);
}
